package algoritmos2011;

import algoritmos2011.Red.RespuestaAmistad;
import algoritmos2011.Red.RespuestaEvento;

public class Sistema {


	enum TipoRet{OK,ERROR,NO_IMPLEMENTADA};

	private Red red;

	public Red getRed(){
		return red;
	}
	public void setRed(Red r){
		red=r;
	}

	Red crearRed(){
		red=new Red();
		return red;
	}
	TipoRet destruirRed(){
		return this.getRed().destruiRed(); 
	}

	TipoRet registrarUsuario(String usuarioID){
		return this.getRed().registrarUsuario(usuarioID);

	}

	TipoRet eliminarUsuario(String usuarioID){
		return this.getRed().eliminarUsuario(usuarioID);

	}

	TipoRet listarUsuarios(){

		return this.getRed().mostrarUSuarios();

	}

	TipoRet solicitarAmistad(String usuarioO, String usuarioD){
		return this.getRed().solicitarAmistad(usuarioO, usuarioD);
	}

	TipoRet responderSolicitudAmistad(String usuarioID, RespuestaAmistad resp){
		return this.getRed().responderSolicitudAmistad(usuarioID, resp);

	}


	TipoRet enviarMensaje(String usuarioO, String usuarioD, String asunto, String mensaje){

		return this.getRed().enviarMensaje(usuarioO, usuarioD, asunto, mensaje);

	}


	TipoRet leerBandejaEntrada (String usuarioID){

		return this.getRed().leerBandejaEntrada(usuarioID);
	}



	TipoRet invitarEvento(String usuarioO, String usuarioD, String nombreEvento, int fechaEvento, int horaEvento){

		return getRed().invitarEvento(usuarioO, usuarioD,nombreEvento,fechaEvento,horaEvento);


	}


	TipoRet responderEvento (String usuarioID, RespuestaEvento resp){

		return getRed().responderEvento(usuarioID, resp);
	}

	TipoRet listarEventosPendientes(String usuarioID){
		return getRed().listarEventosPendientes(usuarioID);
	}



}
